Method for testing mobile application and associated apparatus and system

ABSTRACT

The application testing system and method provide an efficient and effective way to test multiple application variants of an application on at least one mobile device. The application testing system may cause a first application variant selection indication to be transmitted to at least one mobile device having the application. The first application variant selection indication may be configured to cause the mobile device to interact with the application according to a first application variant of the plurality of application variants. The application testing system may analyze data corresponding to the usage of the first application variant by the at least one mobile device, and cause a second application variant selection indication to be transmitted to the mobile device, wherein the second application variant selection indication is configured to cause the mobile device to interact with the application according to a second application variant of the plurality of application variants.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of and claims priority to U.S.application Ser. No. 13/773,184, filed Feb. 21, 2013, the entirecontents of which is hereby incorporated in its entirety.

TECHNICAL FIELD

The present description relates to testing variants of mobileapplications. This description more specifically relates to testingvariants of mobile applications and modifying the mobile application andtesting methods accordingly.

BACKGROUND

Mobile devices may be configured to use applications that may providevarious functions to a user. Some applications may be configured toprovide a number of promotions and/or marketing services to a user viathe mobile device. Another mobile application may be configured toprovide a user with the ability to redeem a promotion during atransaction. Applications may have to be updated periodically to provideupdated functionality and/or usability. Current methods of testing thefunctionality and usability of a mobile application are inefficient andlaborious, which may potentially make using such a mobile applicationless enticing.

BRIEF SUMMARY

A method for testing a mobile application comprising a plurality ofapplication variants and an apparatus and system are provided fortesting a mobile application comprising a plurality of applicationvariants.

In one example embodiment, a method is provided that includes causing afirst application variant selection indication to be transmitted to atleast one mobile device of a plurality of mobile devices having theapplication, wherein the first application variant selection indicationis configured to cause the at least one mobile device to interact withthe application according to a first application variant of theplurality of application variants. The method may analyze datacorresponding to the usage of the first application variant by the atleast one mobile device. The method may cause a second applicationvariant selection indication to be transmitted to the at least onemobile device, wherein the second application variant selectionindication is configured to cause the at least one mobile device tointeract with the application according to a second application variantof the plurality of application variants.

In some embodiments, the method may further include receiving anapplication launch indication from the at least one mobile devicesignaling that the application has been launched on the at least onemobile device, and causing at least one of the first variant selectionindication or the second variant selection indication to be transmittedto the at least one mobile device based at least in response toreceiving the application launching indication. According to someembodiments, the first application variant may be a differentapplication variant when compared to the second application variant. Inone example embodiment, the first application variant selectionindication may be transmitted to a first mobile device and a secondapplication variant selection indication may be transmitted to a secondmobile device.

A method may further comprise removing an application variant from theplurality of application variants based at least on a determination thata variant usage metric has met a predetermined threshold. In someembodiments, the method may include receiving an application launchingindication from a third mobile device signaling that the application hasbeen launched, and causing a revised variant selection indication to betransmitted to the third mobile device, wherein the revised variantselection indication may be configured to cause the third mobile deviceto use a desired application variant. According to some embodiments, anundesired application variant may be one of the first or secondapplication variant and a desired application variant may be theremaining first or second application variant.

According to one example embodiment, the method may include causing anapplication comprising a plurality of application variants to beprovided to a plurality of mobile devices, and receiving datacorresponding to the usage of at least the first application variant orthe second application variant from the at least one mobile device. Insome embodiments, the method may include modifying the application basedat least in response to analyzing data corresponding to the usage of thefirst application variant by the at least one mobile device. Accordingto some embodiments, the method may include causing a modifiedapplication comprising a plurality of variants to be transmitted to aplurality of mobile devices, wherein the modified application does notinclude an undesired application variant previously provided in theapplication.

In one example embodiment, an apparatus is provided for testing a mobileapplication, the apparatus comprising at least one processor, and atleast one memory including computer program code, the at least onememory and the computer program code configured to, with the at leastone processor, cause the apparatus to at least cause a first applicationvariant selection indication to be transmitted to at least one mobiledevice of a plurality of mobile devices having the application. The atleast one memory and the computer program product are further configuredto, with the at least one processor, analyze data corresponding to theusage of the first application variant by the at least one mobiledevice. The at least one memory and the computer program product may befurther configured to, with the at least one processor, cause a secondapplication variant selection indication to be transmitted to the atleast one mobile device.

In one embodiment, the first application variant selection indicationmay be configured to cause the at least one mobile device to interactwith the application according to a first application variant of theplurality of application variants, and the second application variantselection indication may be configured to cause the at least one mobiledevice to interact with the application according to a secondapplication variant of the plurality of application variants. Accordingto one embodiment, the at least one memory and the computer programproduct are further configured to, with the at least one processor,receive an application launch indication from the at least one mobiledevice signaling that the application has been launched on the at leastone mobile device. In some embodiments, the at least one memory and thecomputer program product are further configured to, with the at leastone processor, cause at least one of the first variant selectionindication or the second variant selection indication to be transmittedto the at least one mobile device based at least in response toreceiving the application launching indication. According to someembodiments, the first application variant may be a differentapplication variant when compared to the second application variant. Inone embodiment, the at least one memory and the computer program productare further configured to, with the at least one processor, cause afirst application variant selection indication to be transmitted to afirst mobile device, and a second application variant selectionindication to be transmitted to a second mobile device.

According to some embodiments, the at least one memory and the computerprogram product are further configured to, with the at least oneprocessor, cause the apparatus to remove an application variant from theplurality of application variants based at least on a determination thatusage falls below a certain threshold. In some embodiments, the at leastone memory and the computer program product are further configured to,with the at least one processor, cause the apparatus to receive anapplication launching indication from a third mobile device signalingthat the application has been launched. In one embodiment, the at leastone memory and the computer program product may be configured to, withthe at least one processor, cause the apparatus to cause a revisedvariant selection indication to be transmitted to a third mobile device,the revised variant selection indication configured to cause the thirdmobile device to use a desired application variant, wherein an undesiredapplication variant is one of the first or second application variants,and wherein the desired application variant is the remaining first orsecond application.

According to one embodiment, the at least one memory including computerprogram code is further configured to, with the at least one processor,cause the apparatus to cause an application comprising a plurality ofapplication variants to be provided to a plurality of mobile devices. Inone embodiment, the at least one memory and the computer program productare further configured to, with the at least one processor, cause theapparatus to receive data corresponding to the usage of at least thefirst application variant or the second application variant from the atleast one mobile device.

In some embodiments, the at least one memory including computer programcode is further configured to, with the at least one processor, causethe apparatus to modify the application based at least in response toanalyzing data corresponding to the usage of the first applicationvariant by the at least one mobile device. According to one embodiment,the at least one memory and the computer program product are furtherconfigured to, with the at least one processor, cause the apparatus tocause a modified application comprising a plurality of variants to betransmitted to a plurality of mobile devices, wherein the modifiedapplication does not include an undesired application variant previouslyprovided in the application.

In some embodiments, a computer program product is provided, thecomputer program product comprising at least one computer readablenon-transitory memory medium having program code instructions storedthereon, the program code instructions which when executed by anapparatus cause the apparatus at least to cause a first applicationvariant selection indication to be transmitted to at least one mobiledevice of a plurality of mobile devices having the application, whereinthe first application variant selection indication is configured tocause the at least one mobile device to interact with the applicationaccording to a first application variant of the plurality of applicationvariants. In some embodiments, a computer program product is provided,the computer program product comprising at least one computer readablenon-transitory memory medium having program code instructions storedthereon, the program code instructions which when executed by anapparatus cause the apparatus at least to analyze data corresponding tothe usage of the first application variant by the at least one mobiledevice. According to some embodiments, a computer program product isprovided, the computer program product comprising at least one computerreadable non-transitory memory medium having program code instructionsstored thereon, the program code instructions which when executed by anapparatus cause the apparatus at least to cause a second applicationvariant selection indication to be transmitted to the at least onemobile device, wherein the second application variant selectionindication is configured to cause the at least one mobile device tointeract with the application according to a second application variantof the plurality of application variants.

In some embodiments, a computer program product is provided, thecomputer program product comprising at least one computer readablenon-transitory memory medium having program code instructions storedthereon, the program code instructions which when executed by anapparatus cause the apparatus at least to receive an application launchindication from the at least one mobile device signaling that theapplication has been launched on the at least one mobile device. In oneembodiment, a computer program product is provided, the computer programproduct comprising at least one computer readable non-transitory memorymedium having program code instructions stored thereon, the program codeinstructions which when executed by an apparatus cause the apparatus atleast to cause at least one of the first variant selection indication orthe second variant selection indication to be transmitted to the atleast one mobile device based at least in response to receiving theapplication launching indication. According to some embodiments, thefirst application variant may be a different application variant whencompared to the second application variant. The first applicationvariant selection indication may be transmitted to a first mobiledevice, and the second application variant selection indication may betransmitted to a second mobile device.

In one embodiment, a computer program product is provided, the computerprogram product comprising at least one computer readable non-transitorymemory medium having program code instructions stored thereon, theprogram code instructions which when executed by an apparatus cause theapparatus at least to remove an application variant from the pluralityof application variants based at least on a determination that usagefalls below a certain threshold. In some embodiments, a computer programproduct is provided, the computer program product comprising at leastone computer readable non-transitory memory medium having program codeinstructions stored thereon, the program code instructions which whenexecuted by an apparatus cause the apparatus at least to receive anapplication launching indication from a third mobile device signalingthat the application has been launched. The computer program productcomprising at least one computer readable non-transitory memory mediumhaving program code instructions stored thereon, the program codeinstructions which when executed by an apparatus may cause the apparatusat least to cause a revised variant selection indication to betransmitted to the third mobile device. The revised variant selectionindication may be configured to cause the third mobile device to use adesired application variant, wherein an undesired application variant isone of the first or second application variants, and wherein the desiredapplication variant is the remaining first or second application.

In some embodiments, a computer program product is provided, thecomputer program product comprising at least one computer readablenon-transitory memory medium having program code instructions storedthereon, the program code instructions which when executed by anapparatus cause the apparatus at least to cause an applicationcomprising a plurality of application variants to be provided to aplurality of mobile devices. According to one embodiment, a computerprogram product is provided, the computer program product comprising atleast one computer readable non-transitory memory medium having programcode instructions stored thereon, the program code instructions whichwhen executed by an apparatus cause the apparatus at least to receivedata corresponding to the usage of at least the first applicationvariant or the second application variant from the at least one mobiledevice. In one embodiment, a computer program product is provided, thecomputer program product comprising at least one computer readablenon-transitory memory medium having program code instructions storedthereon, the program code instructions which when executed by anapparatus cause the apparatus at least to modify the application basedat least in response analyzing data corresponding to the usage of atleast one of the variants of the application by the at least one mobiledevice. In some embodiments, the modified application does not includean undesired variant previously provided in the application.

According to some embodiments, a mobile application testing system isprovided, the system comprising a mobile application testing servercomprising processing circuitry configured to cause a first applicationvariant selection indication to be transmitted to at least one mobiledevice of a plurality of mobile devices having the application, whereinthe first application variant selection indication is configured tocause the at least one mobile device to interact with the applicationaccording to a first application variant of the plurality of applicationvariants. In some embodiments, the system may include processingcircuitry configured to analyze data corresponding to the usage of thefirst application variant by the at least one mobile device. Accordingto one embodiment, the system may include processing circuitryconfigured to cause a second application variant selection indication tobe transmitted to the at least one mobile device, wherein the secondapplication variant selection indication is configured to cause the atleast one mobile device to interact with the application according to asecond application variant of the plurality of application variants. Thesystem may further comprise communications circuitry configured tofacilitate communications with at least one mobile device, and furtherconfigured to receive an application launch indication from the at leastone mobile device signaling that the application has been launched onthe at least one mobile device. In some embodiments, the system mayinclude at least one mobile device comprising a display configured todisplay a mobile application, communications circuitry configured tofacilitate communications with at least one mobile application testingserver, and processing circuitry configured to wirelessly receive theplurality of variant selection indications from the mobile applicationtesting server and to send the application launching indication to themobile application testing server.

According to one embodiment, a method for testing application variantsof an application on a mobile device is provided, the method comprisingtransmitting an application launch indication signaling that theapplication has been launched on the at least one mobile device. Themethod may further include receiving a first application variantselection indication, wherein the mobile device includes an application,wherein the first application variant selection indication is configuredto cause the at least one mobile device to interact with the applicationaccording to a first application variant of the plurality of applicationvariants. In some embodiments, the method may comprise transmitting datacorresponding to the usage of at least the first application variant bythe mobile device. In one embodiment, the method may include receiving asecond application variant selection indication, wherein the secondapplication variant selection indication is configured to cause the atleast one mobile device to interact with the application according to asecond application variant of the plurality of application variants.

In one embodiment, a method may include receiving a first applicationvariant selection indication, wherein receiving the first applicationvariant selection indication is caused by at least transmitting anapplication launch indication to a mobile application testing server. Insome embodiments, the first application variant may be a differentapplication variant when compared to the second application variant.

According to one embodiment, a method may include receiving a secondapplication variant selection indication, wherein receiving a secondapplication variant selection indication is caused in part bytransmitting data corresponding to the usage of the at least firstapplication variant by the mobile device. In one embodiment, the methodmay further comprise receiving an undesired variant indicationconfigured to cause the at least one mobile device to not interact withthe application according to the undesired application variant of theplurality of application variants. The undesired application variant maybe one of the first or second application variants. According to someembodiments, a method may include receiving a modified applicationcomprising a plurality of variants, wherein the modified applicationdoes not include the undesired application variant previously providedin the application.

Other systems, methods, and features will be, or will become, apparentto one with skill in the art upon examination of the following figuresand detailed description. It is intended that all such additionalsystems, methods, features and be included within this description, bewithin the scope of the disclosure, and be protected by the followingclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described embodiments of the invention in general terms,reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 illustrates an example system in accordance with some embodimentsdiscussed herein;

FIG. 2 illustrates a flow chart detailing a method of testing aplurality of application variants of a mobile application according toan example embodiment;

FIG. 3 illustrates a flow chart detailing a method of testing aplurality of application variants of a mobile application according toan example embodiment;

FIG. 4 illustrates a flow chart detailing a method of testing aplurality of application variants of a mobile application according toan example embodiment;

FIG. 5 illustrates a flow chart detailing a method of testing aplurality of application variants of a mobile application according toan example embodiment; and

FIG. 6 illustrates a block diagram of circuitry which may be included ina mobile application testing system and/or a mobile device according toan example embodiment.

DETAILED DESCRIPTION

Embodiments of the present invention now will be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all embodiments of the inventions are shown. Indeed, embodimentsof the invention may be embodied in many different forms and should notbe construed as limited to the embodiments set forth herein; rather,these embodiments are provided so that this disclosure will satisfyapplicable legal requirements. Like numbers refer to like elementsthroughout.

As used herein, the terms “data,” “content,” “information” and similarterms may be used interchangeably to refer to data capable of beingcaptured, transmitted, received, displayed and/or stored in accordancewith various example embodiments. Thus, use of any such terms should notbe taken to limit the spirit and scope of the disclosure. Further, wherea computing device is described herein to receive data from anothercomputing device, it will be appreciated that the data may be receiveddirectly from the another computing device or may be received indirectlyvia one or more intermediary computing devices, such as, for example,one or more servers, relays, routers, network access points, basestations, and/or the like. Similarly, where a computing device isdescribed herein to send data to another computing device, it will beappreciated that the data may be sent directly to the another computingdevice or may be sent indirectly via one or more intermediary computingdevices, such as, for example, one or more servers, relays, routers,network access points, base stations, and/or the like.

The principles described herein may be embodied in many different forms.Not all of the depicted components may be required, however, and someimplementations may include additional, different, or fewer components.Variations in the arrangement and type of the components may be madewithout departing from the spirit or scope of the claims as set forthherein. Additional, different, or fewer components may be provided.

Embodiments discussed herein may be configured to provide for testing ofmultiple variants of a mobile application by a plurality of users via aplurality of mobile devices. In this regard, one advantage that may berealized by some embodiments discussed herein is that testing ofmultiple variants of a mobile application by a particular mobile deviceuser may be conducted without interrupting the user's usage of and/orexperience with the mobile application. For example, a mobile deviceuser may actively use a particular variant of a mobile application on amobile device, which communicates information corresponding to the usageof the particular variant of the mobile application by the user to atesting server, without interrupting the user's usage of and/orexperience with the mobile application.

Another advantage realized by some embodiments discussed herein includesrefining a mobile application comprising multiple variants for mobiledevice users of a particular geographical location. For example, usersof one geographical location may use the mobile application in adifferent manner than users from another geographical location.Accordingly, embodiments of the present invention may provide formodifying the mobile application such that users of a particulargeographical location use a variant of the mobile application in amanner suited for that particular geographical location.

FIG. 1 illustrates a system 100 including an example networkarchitecture, which may include one or more devices and sub-systems thatare configured to implement some embodiments discussed herein. Forexample, system 100 may include a mobile application variant testingsystem 102, which can include, for example, mobile application varianttesting server 104 and mobile application variant database 106. Mobileapplication variant testing server 104 can be any suitable networkserver and/or other type of processing device. Mobile applicationvariant database 106 can be any suitable network database configured tostore mobile application variant usage data and/or analytics data, suchas that discussed herein. In this regard, system 102, may include, forexample, at least one backend data server, network database, cloudcomputing device, among other things. As discussed herein, mobiledevices 110, 120, 130, 140 can be any suitable mobile device, such as acellular phone, tablet computer, smartphone, etc., or other type ofmobile processing device that may be used for any suitable purpose.

Testing system 102 may be coupled to one or more mobile devices 110,120, 130, 140 (e.g., consumer device, merchant device, etc.) via network108. In this regard, network 108 may include any wired or wirelesscommunication network including, for example, a wired or wireless localarea network (LAN), personal area network (PAN), metropolitan areanetwork (MAN), wide area network (WAN), mobile broadband network, or thelike, as well as any hardware, software and/or firmware required toimplement it (such as, e.g., network routers, etc.). For example,network 108 may include a cellular telephone, an 602.11, 602.16, 602.20,and/or WiMax network. Further, the network 108 may include a publicnetwork, such as the Internet, a private network, such as an intranet,or combinations thereof, and may utilize a variety of networkingprotocols now available or later developed including, but not limited toTCP/IP based networking protocols.

FIG. 2 illustrates a flow chart for an example embodiment of a method200 of testing application variants of an application on a mobiledevice, such as a mobile device, a smartphone, a laptop, a mobilecomputing device, a tablet computing device, and/or the like and/or anynumber of those devices.

Method 200 may begin at 202 and proceed to 204, where a mobileapplication testing system provides a mobile application comprising aplurality of application variants to a mobile device. For example, amobile application may be configured to provide a promotion andmarketing service to a plurality of consumers via a plurality of mobiledevices. According to one embodiment, a mobile application may beconfigured to provide for the purchasing of a promotion by displaying anumber of promotions on the display of a mobile device as a graphicalelement, such as an icon, that corresponds to the particular promotion.In some embodiments, the mobile application may include a secondapplication variant configured to display the number of promotions on amap displayed by the display of the mobile device. Some embodiments mayprovide any number of application variants, such as a third applicationvariant, wherein the mobile application may be configured to display thenumber of promotions on the display of the mobile device in a listformat. A promotion and marketing service may be defined as a servicethat is accessible via one or more computing devices and is operable toprovide example promotion and/or marketing services on behalf of one ormore providers that are offering one or more instruments that areredeemable for goods, services, experiences and/or the like.

At 206, the testing system may be configured to provide a variantselection indication to a mobile device. The variant selectionindication may be configured to cause the mobile device to interact withthe mobile application according to a first application variant of theplurality of application variants. For example, the mobile applicationmay include a plurality of application variants, wherein the pluralityof application variants may provide for a user to interact with themobile application in a plurality of ways, each way corresponding to aparticular application variant.

In one embodiment, a mobile application configured to provide apromotion and marketing service may be configured to provide a displayof a mobile device with a graphical user interface comprising a numberof buttons and/or other user selectable elements. As such, oneapplication variant may cause the mobile application to vary the size,shape, color, representation and/or the like of such a button or otheruser selectable elements. In another embodiment, a mobile applicationmay be configured to display a map on a display of a mobile deviceindicating locations corresponding to a promotion and/or marketingservice. Accordingly, one application variant may cause the mobileapplication to vary map details, such as zoom level, map colors, maporientation, and/or the like.

In another embodiment, a mobile application may be configured to providea display of mobile device with a display portion configured to displaya plurality of promotions and/or marketing services with a slideshow,carousel, and/or the like of user selectable elements, such as aplurality of icons, wherein each icon corresponds to a particularpromotion and/or marketing service. As such, one application variant maybe configured to cause the mobile application to display the particularpromotions and/or marketing services according to the preferences of theuser of the mobile device. Another application variant may be configuredto allow a user to select a parameter to refine how user selectableelements, such as the plurality of icons, are displayed on the mobiledevice. In another embodiment, an application variant may cause anapplication of a mobile device to cause the display of a mobile deviceto display a plurality of user selectable elements based at least uponthe user's past history of redeeming promotions and/or marketingservices.

At 208, a mobile application testing system may be configured to receivedata corresponding to the usage of a particular application variant byat least one mobile device from the mobile device. For example, themobile application may store and/or transmit data corresponding toinformation regarding which promotions and/or marketing services a userredeems on a mobile device. In some embodiments, a mobile device may beconfigured to transmit data to a mobile application testing systemcorresponding to when a user interacts with the mobile application(e.g., a user may interact with the mobile application proximate mid-dayto search for promotions and/or marketing services related to lunch). Inanother embodiment, a mobile application testing system may beconfigured to receive data corresponding to a user's location at whichthe user interacts with the mobile application. For example, the usermay launch the mobile application at a workplace, home, or otherfrequented location, such as a favorite shop, restaurant, merchantand/or the like, so as to search for promotions and/or marketingservices that are close in proximity to the user at the particularlocation.

At 210, a mobile application testing system may be configured to analyzedata corresponding to the usage of a particular application variant by auser of a mobile device. For example, the mobile application testingsystem may include a database configured to store data corresponding toa particular user's usage of the mobile application comprising aplurality of application variants and/or the user's usage of redeemingpromotions and/or marketing services on one or more other computingdevices. Accordingly, the mobile application testing system may beconfigured to analyze data corresponding to a user's usage of the mobileapplication compared to the user's usage of a promotion and marketingservice provided via other computing devices and/or the like. Forexample, a user may use a mobile application on a mobile device toredeem promotions related to restaurants, foods, drinks, and/or othereateries on the mobile device more frequently than when using othercomputing devices. As such, the mobile application testing system may beconfigured to store data corresponding to such usage and may be furtherconfigured to determine such distinctions.

At 212, a mobile application testing system may be configured to providea subsequent variant selection indication to the mobile device, whereinthe subsequent variant selection indication differs from the firstvariant selection indication. For example, the first variant selectionindication may cause a mobile device to interact with the mobileapplication according to a first application variant, such as a variantof the mobile application configured to cause the mobile device todisplay a plurality of promotions and/or marketing services on thedisplay that are redeemable at a location within a certain distance fromthe mobile device.

In one embodiment, the mobile application testing system may beconfigured to provide a subsequent variant selection indication to themobile device, wherein the subsequent variant selection indication maycause the mobile device to interact with the mobile applicationaccording to an application variant different from the first applicationvariant. For example, the mobile application testing system may beconfigured to cause the mobile device to display a plurality ofpromotions and/or markets services on the display of the mobile devicethat are redeemable at a location that is within a particular distancefrom a frequented location of the user of the mobile device, such as theuser's home, workplace, and/or the like, even when the mobile device isnot located at the frequented location. Method 200 may then end at 214.

FIG. 3 illustrates a flow chart for another example embodiment of amethod of testing application variants of an application on a mobiledevice. In some embodiments, the method may be performed by a pluralityof mobile devices. As will be apparent to one of ordinary skill in theart in view of this disclosure, although FIG. 1 illustrates a method oftesting application variants with four mobile devices, exampleembodiments may be performed by any number of mobile devices.

Method 300 may begin at 302, and proceed to 304, where a mobileapplication testing system provides a mobile application having multiplevariants to a plurality of mobile devices. For example, a mobileapplication configured to provide a promotion and marketing service to aplurality of consumers via mobile devices may be provided to theplurality of mobile devices by the mobile application testing system.Further, in some embodiments, the mobile application testing system maycomprise a mobile application testing server and a mobile applicationtesting database.

At 306, the testing system may be configured to provide a variantselection indication to a plurality of mobile devices. In someembodiments, the testing system may be configured to provide a firstapplication variant selection indication to a first mobile device and asecond application variant selection indication to a second mobiledevice. In another embodiment, the mobile application testing system maybe configured to provide a plurality of application variant selectionindications to a plurality of mobile devices, each of the mobile devicesreceiving an application variant selection indication configured tocause the mobile device to interact with the mobile application inaccordance with the application variant.

According to some embodiments, each of the plurality of variants maycorrespond to a particular test, such as a metric, experiment, and/orthe like, of the mobile application. In some embodiments, the test mayinclude at least two variants. As such, a test of the mobile applicationmay be configured to determine, quantify, model, and/or compute variousmetrics or measurements of a user's interaction with the mobileapplication. For example, in one embodiment, a test may attempt toquantify the amount of time a mobile application runs on a mobile devicewhen the a first variant of a mobile application is configured to causea mobile device to display only one promotion versus when a secondvariant of the mobile application is configured to cause the mobiledevice to display multiple promotions on a display of the mobile device.As such, each of the mobile devices may be configured to receive anapplication variant selection indication configured to cause each of themobile devices to interact with the mobile application in accordancewith a particular application variant corresponding to a particular testof the mobile application.

At 308, a mobile application testing system may be configured to receivedata corresponding to the usage of the mobile application device inaccordance with the plurality of variants. For example, a first mobiledevice may be configured to transmit data to a mobile applicationvariant testing system corresponding to the percentages of promotionspurchased when a first application variant causes the mobile device tointeract with the mobile application by displaying a single promotion onthe mobile device display. A second mobile device may be configured totransmit data to a mobile application variant testing systemcorresponding to the percentages of promotions purchased when a secondapplication variant causes the mobile device to interact with the mobileapplication by displaying a plurality of promotions on the mobile devicedisplay. Accordingly, the mobile application testing system may beconfigured to receive data from a plurality of mobile devices, each ofthe mobile devices configured to interact with the application accordingto at least one of the first or second application variant.

At 310, the mobile application testing system may be configured toanalyze data corresponding to the usage of the at least first or secondapplication variant. For example, the mobile application testing systemmay be configured to analyze data corresponding to at least one mobiledevice interacting with the application in accordance with a firstapplication variant, the first application variant of the mobileapplication causing the mobile device display a single promotion on themobile device display, and to analyze data corresponding to at least asecond mobile device interacting with the application in accordance witha second application variant, the second application variant of themobile application causing the mobile device display multiplepromotions. As such, data corresponding to the usage of the first andsecond application variant may illustrate that promotions are purchasedat a higher percentage when the first application variant selectionindication is transmitted to a mobile device compared to when the secondapplication variant selection indication is transmitted to a mobiledevice.

As such, at 312, the mobile application testing system may be configuredto transmit a modified application variant selection indication. Forexample, the mobile application testing system may be configured totransmit only the first application variant selection indication afteranalyzing data corresponding to the usage of the first and secondapplication variant, wherein the first application selection indicationcaused users interacting with the mobile device to purchase promotionsat a greater percentage than the second application selectionindication. Method 300 may then end at 314.

FIG. 4 illustrates a flow chart for another example embodiment of amethod of testing application variants of an application on a mobiledevice. In some embodiments, the method may be performed by a mobiledevice configured to communicate with a mobile application testingsystem. In some embodiments, the mobile device may be able tocommunicate with the mobile application testing system such that themobile device and the system may be configured to transmit and/orreceive data, indications, instructions, and/or the like from oneanother. According to some embodiments, the mobile device may beconfigured to run a mobile application comprising a plurality ofapplication variants even though the mobile device is unable tocommunicate with the mobile application testing system

The method 400 may start at 402. At 404, a mobile device may launch amobile application comprising a plurality of application variants. Forexample, a mobile device may be configured to receive an input from auser corresponding to an indication to launch the mobile application. Insome embodiments, the mobile device may comprise at least a touchdisplay configured to receive an indication of a user input, such as atouch input corresponding to a selection of a graphical elementcorresponding to the mobile application. In some embodiments, the mobiledevice may further comprise a communications module configured tocommunicate with a mobile application testing system, as described infurther detail herein.

At 406, the mobile device may connect with the mobile applicationtesting system via a network, as shown in FIG. 1. If the mobile deviceis unable to connect to the mobile application testing system, then themobile application may be configured to cause the mobile device tointeract with the application according to a default variant. In someembodiments, the default variant may be the last previously used variantof the application. According to some embodiments, the default variantmay be a first application variant when the mobile device has notpreviously launched the application. Accordingly, when the mobile deviceis unable to connect to the mobile application testing system, themobile device is unable to provide the mobile application testing systemwith data corresponding to the usage of the mobile applicationconcurrently with the usage of the mobile application by the mobiledevice. As such, the method may end at 422. In another embodiment, themobile device may be configured to store data corresponding to the usageof the mobile device in accordance with the default variant such thatupon connecting to the mobile application testing system at a laterinstance, the mobile device may be configured to transmit the datacorresponding to the usage of the application according to the defaultvariant.

If the mobile device is able to connect to the mobile applicationtesting system, the mobile device may be configured to receive a firstvariant selection indication from the mobile application testing systemat 410, the first variant selection indication being configured to causethe mobile device to interact with the mobile application according tothe first application variant. For example, the mobile applicationtesting system may be configured to transmit a first variant selectionindication to a mobile device, wherein the first variant selectionindication is configured to cause the mobile device to interact with themobile application according to a first application variant of theplurality of application variants. For example, the first variantselection indication may cause the mobile device to display a map,wherein the map displays the location of the mobile device and at least10 promotions and/or marketing services that are located within 1 mileof the mobile device. A second application variant may cause the mobiledevice to display a map, wherein the map displays the location of themobile device and at least 10 promotions and/or marketing services thatare located within 5 miles of the mobile device. Accordingly, at 412,the mobile device, having received the first variant selectionindication, may run the mobile application in accordance with the firstapplication variant, thereby displaying a map on the mobile devicedisplaying the location of the mobile device and at least 10 promotionsand/or marketing services that are located within 1 mile of the mobiledevice.

At 414, the mobile device may be configured to transmit datacorresponding to the usage of the mobile application in accordance withthe first application variant. For example, when using the firstapplication variant configured to cause the mobile device to initiallydisplay a map displaying the location of the mobile device and at least10 promotions and/or marketing services that are located within 1 mileof the mobile device, a user may provide an input to the mobile deviceto cause the map displayed by the mobile device to zoom out to show atleast 10 promotions and/or marketing services within 5 miles of themobile device. In some embodiments, the mobile device may be configuredto transmit data corresponding to a user's first input after the map isdisplayed according to the first application variant (i.e., the mapdisplaying 10 promotions within 1 mile of the mobile device) being theuser providing the mobile device with an input to zoom out to showpromotions and/or marketing services within 5 miles of the mobiledevice.

As such, the mobile application testing system may be configured toanalyze the data provided by the mobile device corresponding to theusage of the mobile application in accordance with the first applicationvariant at 416. For example, the mobile application testing system maybe configured to determine that a certain percentage of mobileapplication users using the application in accordance to the firstapplication variant provided a first input to the mobile device after amap is displayed in accordance to the first application variant (i.e.,the map displaying 10 promotions within 1 mile of the mobile device)causing the mobile device to display a zoomed out map showing promotionsand/or marketing services within a radius greater than 1 mile of themobile device. In some embodiments, the mobile application testingsystem may include predetermined usage metric thresholds for a pluralityof tests, wherein each test is configured to determine the usage of themobile application in a particular scenario. As such, a test, accordingto one embodiment, may be configured to determine whether a first zoomlevel configured to display promotions and/or marketing services within1 mile of the mobile device is an appropriate first zoom level. As such,the mobile application testing system may be configured to determinewhen a usage metric threshold for the test has been reached. Forexample, a predetermined threshold may be set at approximately 75% ofmobile devices interacting with the application in accordance with afirst application variant provide data indicating that a first input isto change the zoom level of the map to at least 5 miles or greater. Assuch, when the mobile application testing system receives datacorresponding to only 30% of mobile devices interacting with theapplication in accordance with a first application variant indicatingthat a first input is to change the zoom level of the map to at least 5miles or greater, the mobile application testing system may determinethat the predetermined threshold has not been met, and thus, will notmodify subsequent variant selection indications as a result.Accordingly, a mobile device may be configured to receive a firstvariant selection indication when the mobile application is launched ina subsequent instance as the predetermined threshold has not been met.

At 420, a mobile device may be configured to receive a secondapplication variant selection indication configured to cause the mobiledevice to interact with the mobile application according to the secondapplication variant. For example, in an instance in which the mobileapplication testing system is configured to determine when a usagemetric threshold for a test has been reached, the mobile applicationtesting system may be further configured to transmit a secondapplication variant selection indication to a plurality of mobiledevices based at least in response to the predetermined threshold beingmet. Specifically, a predetermined threshold may be set at approximately75% of mobile devices interacting with the application in accordancewith a first application variant provide data indicating that a firstinput is to change the zoom level of the map to at least 5 miles orgreater. As such, when the mobile application testing system receivesdata corresponding to 80% of mobile devices interacting with theapplication in accordance with a first application variant providing anindication that a first input after the map is displayed is to changethe zoom level of the map to at least 5 miles or greater, the mobileapplication testing system may determine that the predeterminedthreshold has been met, and thus, will modify subsequent variantselection indications as a result. Accordingly, at 420, a mobile devicemay be configured to receive a second application variant selectionindication configured to cause the mobile application to interact withthe mobile device to thereby initially display a map displaying thelocation of the mobile device and at least 10 promotions and/ormarketing services that are located within 5 miles of the mobile device.The method may end at 422.

FIG. 5 illustrates a flow chart for another example embodiment of amethod of testing application variants of an application on a mobiledevice. In some embodiments, the method may be performed by a mobileapplication testing system and at least two mobile devices configured tocommunicate with the mobile application testing system. In someembodiments, the mobile devices may be able to communicate with themobile application testing system such that the mobile devices and thesystem may be configured to transmit and/or receive data, indications,instructions, and/or the like from one another.

The method 500 may start when a first mobile device or a second mobiledevice launches a mobile application 502, 504 on the mobile device.Although FIG. 5 illustrates one embodiment illustrating that the mobileapplications on the first and second mobile devices are launched atapproximately a similar instance, one of ordinary skill in the art mayappreciate that the testing of the mobile application does not requirethe mobile application to be launched at a similar instance. Rather, oneof ordinary skill in the art may appreciate that the testing may occurover a period of time, wherein the mobile application testing system maybe configured to receive data corresponding to the usage of the mobileapplication and may, accordingly, modify the mobile application based atleast in response to receiving a plurality of data over a period of timeregarding the usage of the mobile application.

According to one embodiment, the first and second mobile device mayestablish a connection with the mobile application testing system afterlaunching the mobile application at 506, 508 respectively via a network,as shown in FIG. 1. For example, each of the mobile devices may comprisea communications module configured to communicate with the mobileapplication testing system, as described in further detail herein.

At 509, a first mobile device may be configured to transmit anapplication launch indication to the mobile application testing systemvia a network, as shown in FIG. 1. Specifically, the mobile device mayinclude a communications module configured to communicate with themobile application testing system and further be configured to transmitan indication that a mobile application has been executed by the mobiledevice to the mobile application testing system via the networksubsequent to the first mobile device launching the mobile applicationat 502 and establishing a connection with the mobile application testingsystem at 506. At 511, a second mobile device may be configured totransmit an application launch indication to the mobile applicationtesting system via the network subsequent to the second mobile devicelaunching the mobile application at 504 and establishing a connectionwith the mobile application testing system at 508.

In some embodiments, the mobile application testing system, after havingestablished a connection with each of the first and second mobiledevices and receiving an application launch indication from each of thefirst and second mobile devices, may transmit a first applicationselection indication to a first mobile device at 510 and may transmit asecond application selection indication to a second mobile device at512. Although the transmission of the application selection indicationsto the first and second mobile devices by the mobile application testingsystem is shown in FIG. 5 to occur at differing times, one of ordinaryskill in the art may appreciate that the transmission of the applicationselection indication may occur at any time after having established aconnection to the respective mobile devices received an applicationlaunch indication from the respective mobile devices.

At 514, the first mobile device, having received a first applicationselection indication from the mobile application testing system, may beconfigured to interact with the mobile application according to thefirst application variant of the plurality of application variants.Further, at 516, the second mobile device, having received a secondapplication selection indication from the mobile application testingsystem, may be configured to interact with the mobile applicationaccording to the second application variant of the plurality ofapplication variants. As such, in some embodiments, the mobileapplication testing system may be configured to cause a first and secondmobile device to interact with a mobile application in accordance with afirst or second application variant based at least in part ontransmitting a first or second application selection indication to thefirst and second mobile devices respectively.

For example, the mobile application testing system may be configured totransmit a first application selection indication to the first mobiledevice, which may cause the first mobile device to interact with themobile application such that the mobile device displays a plurality ofpromotions and/or marketing services upon a display of the mobile devicein a slide show format (i.e., a first promotion and/or marketing servicemay be displayed on the mobile device display for approximately 10seconds before a second promotion and/or marketing service isautomatically displayed on the mobile device without receiving an inputfrom the user of the mobile device). Further, the mobile applicationtesting system may be configured to transmit a second applicationselection indication to the second mobile device, which may cause thesecond mobile device to interact with the mobile application such thatthe second mobile device displays a single promotion and/or marketingservice on the display of the second mobile device in a single instanceand further requires the user to provide an input to the mobile devicebefore displaying a subsequent promotion and/or marketing service).

Accordingly, the first and second mobile devices may be configured totransmit data corresponding to the usage of the mobile application inaccordance with the first application variant and the second applicationvariant respectively at 518, 520. Specifically, the first and secondmobile devices may include a communications module configured totransmit the data associated with the usage of the first and secondvariants to the mobile application testing system. Accordingly, themobile application testing system may be configured to receive datacorresponding to the usage of the first and second variants by the firstand second mobile devices respectively, and may be further configured tostore, analyze, process and/or otherwise interact with the datacorresponding to the usage of the plurality of variants by the pluralityof mobile devices. At 522,524, the first and second mobile devices mayterminate the mobile application.

Although FIG. 5 illustrates the termination of the mobile application onthe first and second mobile devices 522, 524 occurring prior to a mobileapplication testing system analyzing data corresponding to the usage ofthe mobile application according to a plurality of variants, one ofordinary skill in the art may appreciate that the mobile applicationtesting system may analyze data corresponding to the variant usage atany time after the first and/or second mobile device transmits datacorresponding to the mobile application usage in accordance with atleast one of the variants.

At 526, the mobile application testing system may be configured toanalyze data corresponding to the usage of the first and second variantby the first and second mobile devices respectively. For example, themobile application testing system may be configured to analyze datacorresponding to usage of the mobile application in accordance with thefirst application selection, which may cause the mobile device todisplay a plurality of promotions and/or marketing services upon adisplay of the mobile device in a slide show format and analyze datacorresponding to the usage of the mobile application in accordance withthe second application selection, which may cause the mobile device todisplay a single promotion and/or marketing service on the display ofthe second mobile device in a single instance and further requires theuser to provide an input to the mobile device before displaying asubsequent promotion and/or marketing service. Specifically, the mobileapplication testing system may be configured to analyze data receivedfrom at least the first and second mobile device which corresponds tothe usage of the first and second variant, such as data corresponding tothe number of promotions and/or marketing services purchased when amobile device interacts with the mobile application according to eitherthe first or second application variant. In one embodiment, the mobileapplication testing system may be configured to determine that apredetermined threshold corresponding to the amount of promotions and/ormarketing services purchased when a mobile application interacts with amobile device according to a first or second variant has been met whenthe number of promotion purchases with a mobile application interactingwith a mobile device according to one of the two variants exceeds thenumber of promotion purchases with a mobile application interacting witha mobile device according to the remaining variant by a particularamount, percentage, or other metric.

As such, the mobile application testing system may be configured todetermine a revised application variant in response to analyzing datacorresponding to the mobile application usage in accordance with atleast one of the application variants at 527. For example, when datacorresponding to the usage of the mobile application in accordance witha first application variant, which may cause the mobile device todisplay a plurality of promotions and/or marketing services upon adisplay of the mobile device in a slide show format, illustrates that90% of promotions are bought when the mobile application is used inaccordance with the first application variant, the mobile applicationtesting system may be configured to determine a revised applicationvariant. For example, when a predetermined threshold is set at when oneof the at least two variants indicate a difference in promotionpurchases of more than 50%, and when data corresponding to the usage ofthe mobile application in accordance with a second variant, which maycause the mobile device to display a single promotion and/or marketingservice upon the display of the mobile device, provides that only 10% ofpromotions are purchased when the mobile application is used inaccordance with the second variant, the mobile application testingsystem may be configured to determine that a revised application variantmay include at least the first application variant and/or that a revisedapplication variant selection indication may include at least the firstvariant selection indication.

Accordingly, the mobile application testing system may be furtherconfigured to transmit a revised application variant selectionindication to at least one of the two mobile devices at 540, 542. Forexample, a first and second mobile device may launch the mobileapplication at an instance subsequent to terminating the mobileapplication on the first and second mobile devices respectively at 528,530. In addition, the first and second mobile device may be configuredto establish a connection with the mobile application testing system viaa network at 532, 534. Once a connection has been established, the firstand second mobile devices may be configured to transmit an applicationlaunch indication to the mobile application testing system at 536, 538.

Accordingly, in an instance where a mobile application testing systemhas determined a revised application variant in response to at leastanalyzing data corresponding to the usage of a first and secondapplication variant, the mobile application testing system may beconfigured to transmit a revised application variant selectionindication at 542 to the second mobile device thereby causing the secondmobile device to interact with the mobile application in accordance withthe revised application variant of the mobile application. Specifically,the revised application variant selection indication transmitted to thesecond mobile device may cause the second mobile device to interact withthe mobile application in accordance with the first application variant,wherein the revised application variant includes, at least in part, thefirst application variant. In some embodiments, the mobile applicationtesting system may be configured to transmit a revised applicationvariant selection indication to the first mobile device at 540, whereinthe first mobile device previously received an application variantselection indication substantially corresponding to the revisedapplication variant. In another embodiment wherein a first mobile deviceoriginally received an application variant selection indicationsubstantially corresponding to a revised application variant, the mobileapplication testing system may be configured to not transmit a revisedapplication variant selection indication to the first mobile device. Insome embodiments, the mobile application testing system may beconfigured to transmit an indication to the first mobile device thatcorresponds with instructions for the mobile application to interactwith the mobile device according to the originally transmittedapplication variant selection when the mobile device originally receivedan application variant selection indication that substantiallycorresponds to the revised application variant. In another embodiment,the mobile application testing system may be configured to transmit anindication corresponding to the previously transmitted first or secondapplication variant selection indications when the mobile applicationtesting system has not determined a revised application variant inresponse to analyzing data corresponding to the usage of the mobileapplication in accordance with the first or second application variant.

Accordingly, after a mobile application testing system has transmitted arevised application variant selection to the first and/or second mobiledevice, in one embodiment, the first or second mobile device may beconfigured to run the mobile application according to the revisedapplication variant at 546, 548. For example, the first and/or secondmobile device may be configured to run the mobile application such thata plurality of promotions and/or marketing services is displayed upon adisplay of the mobile device in a slide show format.

As disclosed above, the mobile application testing system may leverageequipment and infrastructure used by merchants to implement a loyaltyrewards program that allows consumers to redeem promotions at multipleparticipating merchants. In this fashion, the transaction processingsystem may provide an efficient and effective low-cost way for consumersto redeem promotions with participating merchants.

FIG. 6 illustrates a schematic block diagram of circuitry 600, some orall of which may be included in, for example, mobile application testingserver 102, mobile application testing database 104 and/or mobiledevices 110, 120, 130, 140. As illustrated in FIG. 6, in accordance withsome example embodiments, circuitry 600 may include various means, suchas a processor 602, memory 604, communication module 606, input/outputmodule 608 and/or mobile application testing module 610.

In some embodiments, such as when circuitry 600 is included in a mobileapplication testing system 100 and/or mobile device 110, 120, 130, 140,mobile application testing module 610 may be included. As referred toherein, “module” includes hardware, software and/or firmware configuredto perform one or more particular functions. In this regard, the meansof circuitry 600 as described herein may be embodied as, for example,circuitry, hardware elements (e.g., a suitably programmed processor,combinational logic circuit, and/or the like), a computer programproduct comprising computer-readable program instructions stored on anon-transitory computer-readable medium (e.g., memory 604) that isexecutable by a suitably configured processing device (e.g., processor602), or some combination thereof.

Processor 602 may, for example, be embodied as various means includingone or more microprocessors with accompanying digital signalprocessor(s), one or more processor(s) without an accompanying digitalsignal processor, one or more coprocessors, one or more multi-coreprocessors, one or more controllers, processing circuitry, one or morecomputers, various other processing elements including integratedcircuits such as, for example, an ASIC (application specific integratedcircuit) or FPGA (field programmable gate array), or some combinationthereof. Accordingly, although illustrated in FIG. 6 as a singleprocessor, in some embodiments, processor 602 comprises a plurality ofprocessors. The plurality of processors may be embodied on a singlecomputing device or may be distributed across a plurality of computingdevices collectively configured to function as circuitry 600. Theplurality of processors may be in operative communication with eachother and may be collectively configured to perform one or morefunctionalities of circuitry 600 as described herein. In an exampleembodiment, processor 602 is configured to execute instructions storedin memory 604 or otherwise accessible to processor 602. Theseinstructions, when executed by processor 602, may cause circuitry 600 toperform one or more of the functionalities of circuitry 600 as describedherein.

Whether configured by hardware, firmware/software methods, or by acombination thereof, processor 602 may comprise an entity capable ofperforming operations according to embodiments of the present inventionwhile configured accordingly. Thus, for example, when processor 602 isembodied as an ASIC, FPGA or the like, processor 602 may comprisespecifically configured hardware for conducting one or more operationsdescribed herein. As another example, when processor 602 is embodied asan executor of instructions, such as may be stored in memory 604, theinstructions may specifically configure processor 602 to perform one ormore algorithms and operations described herein.

Memory 604 may comprise, for example, volatile memory, non-volatilememory, or some combination thereof. Although illustrated in FIG. 6 as asingle memory, memory 604 may comprise a plurality of memory components.The plurality of memory components may be embodied on a single computingdevice or distributed across a plurality of computing devices. Invarious embodiments, memory 604 may comprise, for example, a hard disk,random access memory, cache memory, flash memory, a compact disc readonly memory (CD-ROM), digital versatile disc read only memory (DVD-ROM),an optical disc, circuitry configured to store information, or somecombination thereof. Memory 604 may be configured to store information,data, applications, instructions, or the like for enabling circuitry 600to carry out various functions in accordance with example embodimentsdiscussed herein. For example, in at least some embodiments, memory 604is configured to buffer input data for processing by processor 602.Additionally or alternatively, in at least some embodiments, memory 604may be configured to store program instructions for execution byprocessor 602. Memory 604 may store information in the form of staticand/or dynamic information. This stored information may be stored and/orused by circuitry 600 during the course of performing itsfunctionalities.

Communications module 606 may be embodied as any device or meansembodied in circuitry, hardware, a computer program product comprisingcomputer readable program instructions stored on a computer readablemedium (e.g., memory 604) and executed by a processing device (e.g.,processor 602), or a combination thereof that is configured to receiveand/or transmit data from/to another device, such as, for example, asecond circuitry 600 and/or the like. In some embodiments,communications module 606 (like other components discussed herein) canbe at least partially embodied as or otherwise controlled by processor602. In this regard, communications module 606 may be in communicationwith processor 2602, such as via a bus. Communications module 606 mayinclude, for example, an antenna, a transmitter, a receiver, atransceiver, network interface card and/or supporting hardware and/orfirmware/software for enabling communications with another computingdevice. Communications module 606 may be configured to receive and/ortransmit any data that may be stored by memory 604 using any protocolthat may be used for communications between computing devices.Communications module 606 may additionally or alternatively be incommunication with the memory 604, input/output module 608 and/or anyother component of circuitry 600, such as via a bus.

Input/output module 608 may be in communication with processor 602 toreceive an indication of a user input and/or to provide an audible,visual, mechanical, or other output to a user. Some example visualoutputs that may be provided to a user by circuitry 600 are discussed inconnection with the displays described above. As such, input/outputmodule 608 may include support, for example, for a keyboard, a mouse, ajoystick, a display, an image capturing device, a touch screen display,a microphone, a speaker, a RFID reader, barcode reader, biometricscanner, and/or other input/output mechanisms. In embodiments whereincircuitry 600 is embodied as a server or database, aspects ofinput/output module 608 may be reduced as compared to embodiments wherecircuitry 600 is implemented as an end-user machine (e.g., consumerdevice and/or merchant device) or other type of device designed forcomplex user interactions. In some embodiments (like other componentsdiscussed herein), input/output module 608 may even be eliminated fromcircuitry 600. Input/output module 608 may be in communication withmemory 604, communications module 606, and/or any other component(s),such as via a bus. Although more than one input/output module and/orother component can be included in circuitry 600, only one is shown inFIG. 8 to avoid overcomplicating the drawing (like the other componentsdiscussed herein).

Mobile Application Testing Module 610 may also or instead be includedand configured to perform the functionality discussed herein related tofacilitating the testing of multiple application variants of a mobileapplication discussed above. In some embodiments, some or all of thefunctionality facilitating testing of multiple application variants of amobile application may be performed by processor 602. In this regard,the example processes and algorithms discussed herein can be performedby at least one processor 602 and/or mobile application testing module610. For example, non-transitory computer readable storage media can beconfigured to store firmware, one or more application programs, and/orother software, which include instructions and other computer-readableprogram code portions that can be executed to control processors of thecomponents of system 600 to implement various operations, including theexamples shown above. As such, a series of computer-readable programcode portions may be embodied in one or more computer program productsand can be used, with a computing device, server, and/or otherprogrammable apparatus, to produce the machine-implemented processesdiscussed herein.

Any such computer program instructions and/or other type of code may beloaded onto a computer, processor or other programmable apparatusescircuitry to produce a machine, such that the computer, processor otherprogrammable circuitry that executes the code may be the means forimplementing various functions, including those described herein.

The illustrations described herein are intended to provide a generalunderstanding of the structure of various embodiments. The illustrationsare not intended to serve as a complete description of all of theelements and features of apparatus, processors, and systems that utilizethe structures or methods described herein. Many other embodiments maybe apparent to those of skill in the art upon reviewing the disclosure.Other embodiments may be utilized and derived from the disclosure, suchthat structural and logical substitutions and changes may be madewithout departing from the scope of the disclosure. Additionally, theillustrations are merely representational and may not be drawn to scale.Certain proportions within the illustrations may be exaggerated, whileother proportions may be minimized. Accordingly, the disclosure and thefigures are to be regarded as illustrative rather than restrictive.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe true spirit and scope of the description. Thus, to the maximumextent allowed by law, the scope is to be determined by the broadestpermissible interpretation of the following claims and theirequivalents, and shall not be restricted or limited by the foregoingdetailed description.

That which is claimed:
 1. A mobile application testing system fortesting mobile application variants of a mobile application, storingusage data associated with the mobile application variants, anddetermining, based at least in part on the stored usage data, aparticular mobile application variant of the mobile application for usein a subsequent launch of the mobile application, the mobile applicationtesting system comprising: a mobile application testing platformconfigured for use on at least a first mobile device of a plurality ofmobile devices; a mobile application testing apparatus comprising: atleast one processor; and at least one memory including computer programcode, the at least one memory and the computer program code configuredto, with the at least one processor, cause the mobile applicationtesting apparatus to initiate a first testing operation of the mobileapplication variants, the first testing operation comprising at least:causing transmission of the mobile application testing platform to atleast the first mobile device of the plurality of mobile devices, themobile application testing platform comprising a first applicationvariant, a second application variant, and an indication of a defaultapplication variant to be provided to the first mobile device, the firstapplication variant and the second application variant being testedrelative to one another, in simultaneous live deployment, as todiffering aspects of a common graphical user interface of the mobileapplication, and wherein the first application variant differs from thesecond application variant by altering one or more of a size, a shape,or a location of user selectable elements of the common graphical userinterface; and receiving usage data from the mobile application testingplatform in an instance in which a connection is established between themobile application testing apparatus and the first mobile device, theusage data comprising data indicative of a usage of the transmittedmobile application; the mobile application testing platform furthercomprising computer program code configured to, when executed by aprocessor on the first mobile device, cause the first mobile device toat least: run the mobile application in accordance with only the defaultapplication variant in an instance in which no connection is establishedbetween the mobile application testing apparatus and the first mobiledevice; and store usage data of only the default application variant fora period of time while no connection is established between the mobileapplication testing apparatus and the first mobile device, wherein theusage data comprises a percentage of promotions purchased and a locationassociated with launching the default application variant, and whereinthe at least one memory including computer program code of the mobileapplication testing apparatus is further configured to, with the atleast one processor, cause the mobile application testing apparatus toinitiate a second testing operation of the mobile application variants,the second testing operation comprising at least: re-establishing theconnection between the mobile application testing apparatus and thefirst mobile device for transmission of the usage data that comprisesthe percentage of promotions purchased and the location associated withlaunching the default application variant; receiving the stored usagedata; analyzing the stored usage data of the first application variantand the second application variant to determine that a first usagemetric percentage satisfies a pre-defined usage metric threshold; andrevising the default application variant of the first applicationvariant and the second application variant based on analyzing the storedusage data.
 2. The mobile application testing system according to claim1, wherein the at least one memory including computer program code isfurther configured to, with the at least one processor, cause the mobileapplication testing apparatus to: subsequent to receiving the storedusage data, analyze the data corresponding to a usage of the firstapplication variant or the second application variant to determinewhether at least one of the first application variant or the secondapplication variant satisfies a predetermined usage threshold, whereinthe stored usage data is associated with the first application variantor the second application variant in accordance with an applicationvariant indicated by the indication of the default application variant.3. The mobile application testing system according to claim 2, whereinthe at least one memory including computer program code is furtherconfigured to, with the at least one processor, cause the mobileapplication testing apparatus to: upon re-establishment of theconnection between the mobile application testing apparatus and thefirst mobile device and reception of the stored usage data, determine ageographic location of the first mobile device or particular interactionlocations; and cause removal of the first application variant ortransmission of a revision of the first application variant from themobile application testing platform in accordance with the determinedgeographic location or one or more of the particular interactionlocations; and cause removal of the second application variant ortransmission of a revision of the second application variant from themobile application testing platform in accordance with the determinedgeographic location or one or more of the particular interactionlocations.
 4. The mobile application testing system according to claim3, wherein the revision of the first application variant or the revisionof the second application variant is configured to cause the firstmobile device to display promotions or services that are redeemable at alocation that is within a particular distance from the determinedgeographic location or one or more of the particular interactionlocations.
 5. The mobile application testing system according to claim2, wherein the at least one memory including computer program code isfurther configured to, with the at least one processor, cause the mobileapplication testing apparatus to: analyze the data corresponding to ausage of the first application variant and the second applicationvariant to determine whether at least one of the first applicationvariant or the second application variant satisfies the predeterminedusage threshold; cause removal or modification of the first applicationvariant from the mobile application testing platform in an instance inwhich the first application variant fails to satisfy the predeterminedusage threshold; and cause removal or modification of the secondapplication variant from the mobile application testing platform inwhich the second application variant fails to satisfy the predeterminedusage threshold.
 6. The mobile application testing system according toclaim 1, wherein the indication of a default application is a lastpreviously used variant selection indication.
 7. The mobile applicationtesting system according to claim 1, wherein the at least one memoryincluding computer program code is further configured to, with the atleast one processor, cause the mobile application testing apparatus to:receive an application launch indication from the first mobile devicesignaling that the mobile application has been launched on the firstmobile device; and cause at least one of a first variant selectionindication or a second variant selection indication to be transmitted tothe first mobile device based at least in response to receiving theapplication launch indication.
 8. The mobile application testing systemaccording to claim 1, wherein revising the default application variantof the first application variant and the second application variantbased on analyzing the stored usage data comprises: selecting the firstapplication variant or the second application variant as an undesiredvariant based on analyzing the stored usage data and designating theremaining one of the first application variant and the secondapplication variant as a desired variant; and revising the defaultvariant based on at least one aspect of the desired variant.
 9. Themobile application testing system according to claim 1, wherein theplurality of mobile devices comprises the first mobile device associatedwith a particular user identifier and a second mobile device alsoassociated with the particular user identifier, the second mobile deviceprovided the second application variant.
 10. A mobile applicationtesting computer program product for testing mobile application variantsof a mobile application, storing usage data associated with the mobileapplication variants, and determining, based at least in part on thestored usage data, a particular mobile application variant of the mobileapplication for use in a subsequent launch of the mobile application,the mobile application testing computer program product comprising atleast one non-transitory computer-readable storage medium havingcomputer-executable program code instructions stored therein; and amobile application testing platform configured for use on at least afirst mobile device of a plurality of mobile devices, thecomputer-executable program code instructions comprising program codeinstructions for initiating a first testing operation of the mobileapplication variants, the first testing operation comprising: causingtransmission of the mobile application testing platform to at least thefirst mobile device of the plurality of mobile devices, the mobileapplication testing platform comprising: a first application variant, asecond application variant, and an indication of a default applicationvariant to be provided to the first mobile device, the first applicationvariant and the second application variant being tested relative to oneanother, in simultaneous live deployment, as to differing aspects of acommon graphical user interface of the mobile application, and whereinthe first application variant differs from the second applicationvariant by altering one or more of a size, a shape, or a location ofuser selectable elements of the common graphical user interface; andreceiving usage data from the mobile application testing platform in aninstance in which a connection is established between a mobileapplication testing apparatus and the first mobile device, the usagedata comprising data indicative of a usage of the transmittedapplication; the mobile application testing platform further comprisingcomputer program code configured to, when executed by a processor on thefirst mobile device, cause the first mobile device to at least: run theapplication in accordance with only the default application variant inan instance in which no connection is established between the mobileapplication testing apparatus and the first mobile device; and storeusage data of only the default application variant for a period of timewhile no connection is established between the mobile applicationtesting apparatus and the first mobile device, wherein the usage datacomprises a percentage of promotions purchased and a location associatedwith launching the default application variant; wherein thecomputer-executable program code instructions further comprising programcode instructions for initiating a second testing operation of themobile application variants, the second testing operation comprising atleast: re-establishing connection between the mobile application testingapparatus and the first mobile device for transmission of the usage datathat comprises the percentage of promotions purchased and the locationassociated with launching the default application variant; receiving thestored usage data; analyzing the stored usage data of the firstapplication variant and the second application variant of theapplication to determine that a first usage metric percentage satisfiesa pre-defined usage metric threshold; and revising the defaultapplication variant of the first application variant and the secondapplication variant based on analyzing the stored usage data.
 11. Themobile application testing computer program product according to claim10, wherein the computer-executable program code instructions furthercomprise program code instructions for: subsequent to receiving thestored usage data, analyzing the data corresponding to a usage of thefirst application variant or the second application variant to determinewhether at least one of the first application variant or the secondapplication variant satisfies a predetermined usage threshold, whereinthe stored usage data is associated with the first application variantor the second application variant in accordance with an applicationvariant indicated by the indication of the default application variant.12. The mobile application testing computer program product according toclaim 11, wherein the computer-executable program code instructionsfurther comprise program code instructions for: upon re-establishment ofthe connection between the mobile application testing apparatus and thefirst mobile device and reception of the stored usage data, determininga geographic location of the first mobile device or particularinteraction locations; and causing removal of the first applicationvariant or transmission of a revision of the first application variantfrom the mobile application testing platform in accordance with thedetermined geographic location or one or more of the particularinteraction locations; and causing removal of the second applicationvariant or transmission of a revision of the second application variantfrom the mobile application testing platform in accordance with thedetermined geographic location or one or more of the particularinteraction locations.
 13. The mobile application testing computerprogram product according to claim 12, wherein the revision of the firstapplication variant or the revision of the second application variant isconfigured to cause the first mobile device to display promotions orservices that are redeemable at a location that is within a particulardistance from the determined geographic location or one or more of theparticular interaction locations.
 14. The mobile application testingcomputer program product according to claim 11, wherein thecomputer-executable program code instructions further comprise programcode instructions for: analyzing the data corresponding to a usage ofthe first application variant and the second application variant todetermine whether at least one of the first application variant or thesecond application variant satisfies the predetermined usage threshold;causing removal or modification of the first application variant fromthe mobile application testing platform in an instance in which thefirst application variant fails to satisfy the predetermined usagethreshold; and causing removal or modification of the second applicationvariant from the mobile application testing platform in which the secondapplication variant fails to satisfy the predetermined usage threshold.15. The mobile application testing computer program product according toclaim 10, wherein the indication of a default application is a lastpreviously used variant selection indication.
 16. The mobile applicationtesting computer program product according to claim 10, wherein thecomputer-executable program code instructions further comprise programcode instructions for: receiving an application launch indication fromthe first mobile device signaling that the mobile application has beenlaunched on the first mobile device; and causing at least one of a firstvariant selection indication or a second variant selection indication tobe transmitted to the first mobile device based at least in response toreceiving the application launch indication.
 17. A computer-implementedmobile application testing method for programmatically testing mobileapplication variants of a mobile application, storing usage dataassociated with the mobile application variants, and determining, basedat least in part on the stored usage data, a particular mobileapplication variant of the mobile application for use in a subsequentlaunch of the mobile application, the method comprising: utilizing amobile application testing apparatus; and utilizing a mobile applicationtesting platform configured for use on at least a first mobile device ofa plurality of mobile devices, the mobile application testing apparatuscomprising: at least one processor, and at least one memory includingcomputer program code, the method further comprising initiating a firsttesting operation of the mobile application variants, the first testingoperation comprising: causing transmission of the mobile applicationtesting platform to at least the first mobile device of the plurality ofmobile devices, the mobile application testing platform comprising afirst application variant, a second application variant, and anindication of a default application variant to be provided to the firstmobile device, the first application variant and the second applicationvariant being tested relative to one another, in simultaneous livedeployment, as to differing aspects of a common graphical user interfaceof the mobile application, and wherein the first application variantdiffers from the second application variant by altering one or more of asize, a shape, or a location of user selectable elements of the commongraphical user interface; receive usage data from the mobile applicationtesting platform in an instance in which a connection is establishedbetween the mobile application testing apparatus and the first mobiledevice, the usage data comprising data indicative of a usage of thetransmitted application; wherein the mobile application testing platformis configured to cause the first mobile device to at least: run theapplication in accordance with only the default application variant inan instance in which no connection is established between the mobileapplication testing apparatus and the first mobile device; and storeusage data of only the default application variant for a period of timewhile no connection is established between the mobile applicationtesting apparatus and the first mobile device, wherein the usage datacomprises a percentage of promotions purchased and a location associatedwith launching the default application variant; initiating a secondtesting operation of the mobile application variants, the second testingoperation comprising at least: re-establishing connection between themobile application testing apparatus and the first mobile device fortransmission of the usage data that comprises the percentage ofpromotions purchased and the location associated with launching thedefault application variant; receiving the stored usage data; analyzingthe stored usage data of the first application variant and the secondapplication variant of the application to determine that a first usagemetric percentage satisfies a pre-defined usage metric threshold; andrevising the default application variant of the first applicationvariant and the second application variant based on analyzing the storedusage data.
 18. The computer-implemented mobile application testingmethod according to claim 17, the method further comprising: subsequentto receiving the stored usage data, analyzing data corresponding to ausage of the first application variant or the second application variantto determine whether at least one of the first application variant orthe second application variant satisfies a predetermined usagethreshold, wherein the stored usage data is associated with the firstapplication variant or the second application variant in accordance withan application variant indicated by the indication of the defaultapplication variant.
 19. The computer-implemented mobile applicationtesting method according to claim 18, the method further comprising:upon re-establishment of the connection between the mobile applicationtesting apparatus and the first mobile device and reception of thestored usage data, determining a geographic location of the first mobiledevice or particular interaction locations; and causing removal of thefirst application variant or transmission of a revision of the firstapplication variant from the mobile application testing platform inaccordance with the determined geographic location or one or more of theparticular interaction locations; and causing removal of the secondapplication variant or transmission of a revision of the secondapplication variant from the mobile application testing platform inaccordance with the determined geographic location or one or more of theparticular interaction locations.
 20. The computer-implemented mobileapplication testing method according to claim 18, the method furthercomprising: analyzing data corresponding to a usage of the firstapplication variant and the second application variant to determinewhether at least one of the first application variant or the secondapplication variant satisfies the predetermined usage threshold; causingremoval or modification of the first application variant from the mobileapplication testing platform in an instance in which the firstapplication variant fails to satisfy the predetermined usage threshold;and causing removal or modification of the second application variantfrom the mobile application testing platform in which the secondapplication variant fails to satisfy the predetermined usage threshold.